iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
AI/ ML & Data

機器學習與深度學習背後框架與過程論文與實作系列 第 13

DAY13 如何評估機器學習模型的好與不好 5/30

  • 分享至 

  • xImage
  •  

損失函數(Loss Function)是機器學習模型中非常關鍵的概念,用來衡量模型預測值與真實值之間的差距。在機器學習過程中,我們的目標是找到一組模型參數,使得這個差距最小化。損失函數的作用就是定量化這個差距,指導模型參數的調整。

損失函數的作用

損失函數可以被認為是機器學習中的“導師”。它告訴模型預測是否偏離了真實值,以及偏離的程度。每一次模型進行預測後,損失函數都會計算一個數值(即損失值),並將這個數值反饋給模型。基於這個損失值,模型會進行自我調整,以期在下一次預測時減小這個損失值,從而提高預測的準確性。

常見的損失函數類型

損失函數有很多種,根據不同的任務類型,選擇合適的損失函數至關重要。

  1. 均方誤差(Mean Squared Error, MSE)

    • 適用於回歸問題,用來衡量預測值與真實值之間的差距。計算方法是將預測值與真實值的差值平方,然後取所有樣本的平均值。
    • 公式:
      [
      MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2
      ]
    • 特點: MSE 對於大的誤差更加敏感,因為差值被平方後放大了誤差的影響。
  2. 均絕對誤差(Mean Absolute Error, MAE)

    • 也是用於回歸問題,這個函數計算預測值與真實值之間絕對差值的平均值。
    • 公式:
      [
      MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y}_i|
      ]
    • 特點: 與 MSE 相比,MAE 對於異常值(outliers)不敏感,因為它不會放大誤差。
  3. 交叉熵損失(Cross-Entropy Loss)

    • 常用於分類問題,特別是二元分類和多元分類。這個函數用來衡量預測的概率分佈與實際標籤分佈之間的距離。
    • 公式(對於二元分類):
      [
      \text{Cross-Entropy} = - \frac{1}{n} \sum_{i=1}^{n} \left[y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i)\right]
      ]
    • 特點: 當預測概率接近0或1而實際結果相反時,損失值會非常大,這樣有助於加速模型對錯誤的調整。
  4. Hinge損失

    • 主要用於支持向量機(SVM)模型,用於二分類任務。
    • 公式:
      [
      \text{Hinge Loss} = \frac{1}{n} \sum_{i=1}^{n} \max(0, 1 - y_i \cdot \hat{y}_i)
      ]
    • 特點: Hinge損失旨在最大化分類間的邊界(margin),從而提高分類的魯棒性。

如何選擇損失函數

選擇合適的損失函數取決於任務類型和模型性能的需求。例如:

  • 如果你的模型需要對異常值(outliers)有較好的容忍性,可以選擇MAE。
  • 如果是分類問題且需要在錯誤的預測上進行強烈的懲罰,可以選擇交叉熵損失。

總結來說,損失函數是模型訓練中至關重要的部分,它引導模型朝著正確的方向進行調整,以逐步提高預測精度。在模型訓練過程中,損失函數會隨著優化過程不斷減少,最終趨向於一個穩定的最小值。這個最小值通常代表模型已經學習到了數據中的模式,可以用來進行有效的預測。


上一篇
DAY12 機器學習小白序曲 12/30
下一篇
DAY14 為什麽會過擬合?14/30
系列文
機器學習與深度學習背後框架與過程論文與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言